Wavelet encoding of image data transforms the image from a pixel spatial domain into a mixed frequency and spatial domain. In the case of image data the wavelet transformation includes two dimensional coefficients of frequency and scale. FIGS. 1 to 6 illustrate the basic technique of wavelet image transformation. The two dimensional array of pixels is analyzed X and Y directions and a set for transformed data that can be plotted in respective X and Y frequency. FIG. 1 illustrates transformed data 100 with the upper left corner the origin of the X and Y frequency coordinates. This transformed data is divided into four quadrant subbands. Quadrant 101 includes low frequency X data and low frequency Y data denoted as LL. Quadrant 102 includes low frequency X data and high frequency Y data denoted LH. Quadrant 103 includes high frequency X data and low frequency Y data denoted HL. Quadrant 104 includes high frequency X data and high frequency Y data denoted HH.
Organizing the image data in this fashion with a wavelet transform permits exploitation of the image characteristics for data compression. It is found that most of the energy of the data is located in the low frequency bands. The image energy spectrum generally decays with increasing frequency. The high frequency data contributes primarily to image sharpness. When describing the contribution of the low frequency components the frequency specification is most important. When describing the contribution of the high frequency components the time or spatial location is most important. The energy distribution of the image data may be further exploited by dividing quadrant 101 into smaller bands. FIG. 2 illustrates this division. Quadrant 101 is divided into subquadrant 111 denoted LLLL, subquadrant 112 denoted LLLH, subquadrant 113 denoted LLHL and subquadrant 114 denoted LLHH. As before, most of the energy of quadrant 101 is found in subquadrant 111. FIG. 3 illustrates a third level division of subquadrant 111 into subquadrant 121 denoted LLLLLL, subquadrant 122 denoted LLLLLH, subquadrant 123 denoted LLLLHL and subquadrant 124 denoted LLLLHH. FIG. 4 illustrates a fourth level division of subquadrant 121 into subquadrants 131 denoted LLLLLLLL, subquadrant 132 denoted LLLLLLLH, subquadrant 133 denoted LLLLLLHL and subquadrant 134 denoted LLLLLLHH.
For an n-level decomposition of the image, the lower levels of decomposition correspond to higher frequency subbands. Level one represents the finest level of resolution. The n-th level decomposition represents the coarsest resolution. Moving from higher levels of decomposition to lower levels corresponding to moving from lower resolution to higher resolution, the energy content generally decreases. If the energy content of level of decomposition is low, then the energy content of lower levels of decomposition for corresponding spatial areas will generally be smaller. There are spatial similarities across subbands. A direct approach to use this feature of the wavelet coefficients is to transmit wavelet coefficients in decreasing magnitude order. This would also require transmission of the position of each transmitted wavelet coefficient to permit reconstruction of the wavelet table at the decoder. A better approach compares each wavelet coefficient with a threshold and transmits whether the wavelet value is larger or smaller than the threshold. Transmission of the threshold to the detector permits reconstruction of the original wavelet table. Following a first pass, the threshold is lowered and the comparison repeated. This comparison process is repeated with decreasing thresholds until the threshold is smaller than the smallest wavelet coefficient to be transmitted. Additional improvements are achieved by scanning the wavelet table in a known order, with a known series of thresholds. Using decreasing powers of two seems natural for the threshold values.
FIG. 5 illustrates scale dependency of wavelet coefficients. Each wavelet coefficient has a set of four analogs in a next lower level. In FIG. 19, wavelet coefficients B, C and D are shown with corresponding quads B1, B2, B3, B4, C1, C2, C3, C4, D1, D2, D3 AND D4. Each of these wavelet coefficients has a corresponding quad in the next lower level. As shown in FIG. 5: wavelet coefficients B1, B2, B3 and B4 each have corresponding quads B1, B2, B3 and B4 in the next lower level; wavelet coefficient C2 has a corresponding quad C2; and wavelet coefficient D2 has a corresponding quad D2.
FIG. 6 illustrates an example Morton scanning order and a corresponding set of wavelet coefficients used in a coding example. The Morton scanning retains the same order for each 4 by 4 block in increasing scale. In the wavelet coefficient example H indicates the coefficient is greater than the threshold and L indicates the coefficient is less than the threshold. The encoded data in this example is “HHLH HLLH LLLL HLHL.”
Use of the wavelet compressed data requires a reversal of the encoding process called an inverse discrete wavelet transform.